using System;
using Curriculum.Metadatos.ClasesMetadatos;

namespace Curriculum.Metadatos.Builders
{
	/// <summary>
	/// Summary description for AtributoBuilder.
	/// </summary>
	public class AtributoMetadatoBuilder
	{
		protected string idAtributo;
		protected string idTipoDato;
		protected int longitud;
		protected string nombre;
		protected bool opcional;

		public void SetIdAtributo(string idAtributo)
		{
			this.idAtributo = idAtributo;
		}
		public void SetIdTipoDato(string idTipoDato)
		{
			this.idTipoDato = idTipoDato;
		}
		public void SetLongitud(int longitud)
		{
			this.longitud = longitud;
		}
		public void SetNombre(string nombre)
		{
			this.nombre = nombre;
		}
		public void SetEsOpcional(bool opcional)
		{
			this.opcional = opcional;
		}
		
		private bool EstaCompleto()
		{
			if ((this.idAtributo != null) && (this.idTipoDato != null) && (this.nombre != null))
				return true;
			else
				return false;
		}

		public AtributoMetadato GetObjetoCompleto()
		{
			if (EstaCompleto())
				return new AtributoMetadato(this.idAtributo, this.idTipoDato, this.longitud, this.nombre, this.opcional);
			else
				return null;
		}
	}
}
